/**
 * 
 */
package com.block.common.constant;

import cn.hutool.core.util.StrUtil;

import java.util.HashMap;
import java.util.Map;

/**
 * 
 * 短信相关的常量
 */
public class SmsConstant {
	//操作类型【operationType】

	/**
	 * 注册
	 */
	public static final String LOGIN_REGISTER = "0";

	/**
	 * 发送短信验证码的操作类型
	 */
	public static Map<String, String> noteOperationTypeMap = new HashMap<String, String>();

	public  static final  Long CODE_EXPRIES=5* 60L;


	//初始化
	static 
	{
		/**
		 * 发送短信验证码的操作类型
		 */
		noteOperationTypeMap.put(LOGIN_REGISTER, "LOGIN_REGISTER");

	}

	/**
	 * 短信验证码 opertype, mobile
	 */
	public  static  final  String SMS_CODE_KEY_PREFIX="sms:code:{}:{}";

	public  static  final  String SMS_CODE_CAN_SEND_KEY_PREFIX="sms:code:send{}:{}";
	/**
	 * 短信验证码 opertype, mobile
	 */
	public  static  final  String SMS_CODE_COUNT_PREFIX="sms:code:count:{}:{}";


	/**
	 * 短信验证码的key
	 * @param operType 操作类型
	 * @param mobile 手机号
	 * @return
	 */
	public static String getCodeKey(String operType,String mobile){
		return StrUtil.format(SMS_CODE_KEY_PREFIX,operType,mobile);
	}


	/**
	 * 短信验证码的key
	 * @param operType 操作类型
	 * @param mobile 手机号
	 * @return
	 */
	public static String getCodeCanSendKey(String operType,String mobile){
		return StrUtil.format(SMS_CODE_CAN_SEND_KEY_PREFIX,operType,mobile);
	}
	/**
	 * 短信验证码的次数
	 * @param operType 操作类型
	 * @param mobile 手机号
	 * @return
	 */
	public static String getCodeCountKey(String operType,String mobile){
		return StrUtil.format(SMS_CODE_COUNT_PREFIX,operType,mobile);
	}

}
